//
//  WBUserAccountTool.swift
//  微博(swift)
//
//  Created by 汤米 on 16/4/20.
//  Copyright © 2016年 汤米. All rights reserved.
//

import UIKit

class WBUserAccountTool: NSObject {
    
    // MARK: -  用户账户模型属性
    var userAccount: WBUserAccountModel?
    
    
    // MARK: -  判断访问令牌是否过期
    var isExpire: Bool {
        let date = userAccount?.expires_date
        
        if date?.compare(NSDate()) == NSComparisonResult.OrderedDescending {
            
            return false
        }else {
            return true
        }
    }
    
    // MARK: -  访问令牌是否存在
    var accessToken: String? {
        
        if userAccount?.access_token != nil{
            
            if !isExpire {
                
                //没有过期
                return userAccount?.access_token
            }else {
                
                //过期了
                return nil
            }
        }else {
            //第一次登陆
            return nil
        }
    }
    
    // MARK: -  判断是否登录
    var isLogin: Bool {
        
        if accessToken != nil {
            
            return true
        }else {
            
            return false
        }
    }
    
    // MARK: -  创建单例管理
    static let sharedAccountTool: WBUserAccountTool = WBUserAccountTool()
    
    // MARK: -  当被创建的时候就给属性 userAccount 赋值
    override init() {
        super.init()
        userAccount = getData()
    }
    
    //路径
    let path = (NSSearchPathForDirectoriesInDomains(.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last! as NSString).stringByAppendingPathComponent("userAccount.archiver")
    
    // MARK: -  保存数据
    func saveData(userAccountModel: WBUserAccountModel) {
        
        userAccount = userAccountModel
        
        NSKeyedArchiver.archiveRootObject(userAccountModel, toFile: path)
    }
    
    // MARK: -  读取数据
    func getData() -> WBUserAccountModel? {
        
        return NSKeyedUnarchiver.unarchiveObjectWithFile(path) as? WBUserAccountModel
    }
}
